home *** CD-ROM | disk | FTP | other *** search
Wrap
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>Uso de los Handlers en Apache - Servidor HTTP Apache</title> <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> <link href="./images/favicon.ico" rel="shortcut icon" /></head> <body id="manual-page"><div id="page-header"> <p class="menu"><a href="./mod/">M≤dulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p> <p class="apache">Versi≤n 2.0 del Servidor HTTP Apache</p> <img alt="" src="./images/feather.gif" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs-project/">Documentaci≤n</a> > <a href="./">Versi≤n 2.0</a></div><div id="page-content"><div id="preamble"><h1>Uso de los Handlers en Apache</h1> <div class="toplang"> <p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/handler.html" title="Espa±ol"> es </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> </div> <p>Este documento describe el uso de los Handlers en Apache.</p> </div> <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#definition">┐QuΘ es un Handler?</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#examples">Ejemplos</a></li> <li><img alt="" src="./images/down.gif" /> <a href="#programmer">Nota para programadores</a></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="definition" id="definition">┐QuΘ es un Handler?</a></h2> <table class="related"><tr><th>M≤dulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code></li><li><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="./mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="./mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="./mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="./mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table> <p>Un "handler" es una representaci≤n interna de Apache de una acci≤n que se va a ejecutar cuando hay una llamada a un fichero. Generalmente, los ficheros tienen handlers implφcitos, basados en el tipo de fichero de que se trata. Normalmente, todos los ficheros son simplemente servidos por el servidor, pero algunos tipos de ficheros se tratan de forma diferente.</p> <p>Apache 1.1 a±ade la posibilidad de usar handlers explicitamente. Basßndose en la extension del fichero o en la ubicaci≤n en la que este, se pueden especificar handlers sin tener en cuenta el tipo de fichero de que se trate. Esto es una ventaja por dos razones. Primero, es una soluci≤n mßs elegante. Segundo, porque a un fichero se le pueden asignar tanto un tipo <strong>como</strong> un handler. (Consulte tambiΘn la secci≤n <a href="mod/mod_mime.html#multipleext">Ficheros y extensiones m·ltiples</a>.)</p> <p>Los Handlers pueden ser tanto ser compilados con el servidor como incluidos en un m≤dulo, como a±adidos con la directiva <code class="directive"><a href="./mod/mod_actions.html#action">Action</a></code>. Los handlers compilados con el servidor de la distribuci≤n estßndar de Apache son:</p> <ul> <li><strong>default-handler</strong>: Envφa el fichero usando el <code>default_handler()</code>, que es el handler usado por defecto para tratar contenido estßtico. (core)</li> <li><strong>send-as-is</strong>: Envφa el fichero con cabeceras HTTP tal y como es. (<code class="module"><a href="./mod/mod_asis.html">mod_asis</a></code>)</li> <li><strong>cgi-script</strong>: Trata el fichero como un sript CGI. (<code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code>)</li> <li><strong>imap-file</strong>: Trata el fichero como un mapa de imßgenes. (<code class="module"><a href="./mod/mod_imap.html">mod_imap</a></code>)</li> <li><strong>server-info</strong>: Extrae la informaci≤n de configuraci≤n del servidor. (<code class="module"><a href="./mod/mod_info.html">mod_info</a></code>)</li> <li><strong>server-status</strong>: Extrae el informe de estado del servidor. (<code class="module"><a href="./mod/mod_status.html">mod_status</a></code>)</li> <li><strong>type-map</strong>: Trata el fichero como una correspondencia de tipos para la negociaci≤n de contenidos. (<code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>)</li> </ul> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="examples" id="examples">Ejemplos</a></h2> <h3><a name="example1" id="example1">Modificar contenido estßtico usando un script CGI</a></h3> <p>Las siguientes directivas hacen que cuando haya una petici≤n de ficheros con la extensi≤n <code>html</code> se lance el script CGI <code>footer.pl</code>.</p> <div class="example"><p><code> Action add-footer /cgi-bin/footer.pl<br /> AddHandler add-footer .html </code></p></div> <p>En este caso, el script CGI es el responsable de enviar el documento originalmente solicitado (contenido en la variable de entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier modificaci≤n o a±adido deseado.</p> <h3><a name="example2" id="example2">Archivos con cabaceras HTTP</a></h3> <p>Las siguientes directivas activan el handler <code>send-as-is</code>, que se usa para ficheros que contienen sus propias cabeceras HTTP. Todos los archivos en el directorio <code>/web/htdocs/asis/</code> serßn procesados por el handler <code>send-as-is</code>, sin tener en cuenta su extension.</p> <div class="example"><p><code> <Directory /web/htdocs/asis><br /> SetHandler send-as-is<br /> </Directory> </code></p></div> </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> <div class="section"> <h2><a name="programmer" id="programmer">Nota para programadores</a></h2> <p>Para implementar las funcionalidades de los handlers, se ha hecho un a±adido a la <a href="developer/API.html">API de Apache</a> que puede que quiera usar. Para ser mßs especφficos, se ha a±adido un nuevo registro a la estructura <code>request_rec</code>:</p> <div class="example"><p><code> char *handler </code></p></div> <p>Si quiere que su m≤dulo llame a un handler , solo tiene que a±adir <code>r->handler</code> al nombre del handler en cualquier momento antes de la fase <code>invoke_handler</code> de la petici≤n. Los handlers se implementan siempre como se hacφa antes, aunque usando el nombre del handler en vez de un tipo de contenido. Aunque no es de obligado cumplimiento, la convenci≤n de nombres para los handlers es que se usen palabras separadas por guiones, sin barras, de manera que no se invada el media type name-space.</p> </div></div> <div class="bottomlang"> <p><span>Idiomas disponibles: </span><a href="./en/handler.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="./es/handler.html" title="Espa±ol"> es </a> | <a href="./ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="./ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | <a href="./ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a></p> </div><div id="footer"> <p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Licencia bajo los tΘrminos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="./mod/">M≤dulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div> </body></html>